//***************************************************************************************



//***************************************************************************************

#ifndef ImageDecMat_hpp
#define ImageDecMat_hpp
#include <opencv2/opencv.hpp>
#include<opencv2/nonfree/nonfree.hpp>
#include<iostream>
#endif /* ImageDecMat_hpp */



class ImageDecMat
{
public:
    cv::Mat srcImage,templaImage,dstImage;//定义输入、模板、输出图像
    int nMethod;//方法选择值，1:边缘；2:直线；3:角点；4:斑点；5:圆弧；6:模板匹配；7:特征匹配；8:形状匹配
    void on_edgeDetector(cv::Mat,cv::Mat&);//边缘检测
    void on_lineDetector(cv::Mat,cv::Mat&);//直线检测
    void on_cornerDetector(cv::Mat,cv::Mat&);//角点检测
    void on_spotDetector(cv::Mat,cv::Mat&);//斑点检测
    void on_arcDetector(cv::Mat,cv::Mat&);//圆弧检测
    void on_matchTemplate(cv::Mat,cv::Mat,cv::Mat&);//模板匹配
    void on_matchFeatures(cv::Mat,cv::Mat,cv::Mat&);//特征匹配
    void on_shapeFeatures(cv::Mat,cv::Mat,cv::Mat&);//形状匹配
    void on_garyTrans(cv::Mat,cv::Mat&);//灰度化
    void Image_DetectMatch(cv::Mat,cv::Mat,int,cv::Mat&);//接口函数
    
};
